PDOs for AKD, AKD2G, AKD-N, and S300/S700
The KAS Motion Engine interacts with the AKD, AKD-N, and S300 "Servostar 300 drive" See Servo Drive in Glossary/S700 "Servostar 700 drive" See Servo Drive in Glossary drives through CANopen objects in the selected PDOs. Some of the ML and MC function blocks require specific CANopen objects in the PDO PDO is a type of protocol frame used in some fieldbuses. A PDO contains one or more object dictionary entries, which define the application data transferred between devices.(s).
The default AKD and AKD-N PDO selection includes all of the CANopen objects needed by the motion engine and function blocks. The default S300/S700 PDOs include only the minimal CANopen objects required by the KAS motion engine.
The following tables identify which CANopen objects are required by the motion engine and function blocks, and whether they are available in the default PDO for AKD, AKD-N, or S300/S700, and their corresponding AKD drive parameter There are two types of PDOs:
-
-
Check these tables to make sure the objects needed by the features your application uses are included in the AKD, AKD-N, and S300/S700 PDO selection.
From Controller to Drive (RxPDO)
Index - subindex | Object Name | Required | Associated ML FB | Associated MC FB | Associated AKD Parameter |
---|---|---|---|---|---|
0x20A4 - 0 or 0x2802 - 0 |
Latch control word | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger | CAP0.EN, CAP1.EN, CAP0.MODE, CAP1.MODE |
0x3470 - 3 | AOUT.VALUE (used by Onboard I/O mappings) | No | N/A | N/A | AOUT.VALUEU |
0x6040 - 0 | CANopen Control Word | Yes | MC_ClearFaults, MC_Power | ||
0x60B2 - 0 or 0x60F6 - 1 |
Additive torque value (Torque Feed Forward) |
No | MLAxisAddTq | N/A 1 | IL.BUSFF |
0x60C1 - 1 or 0x6062 - 0 |
Position demand value | Yes | Related to Axis pipe block positions (for more details, About Associated Data on Positions) | MC_ReadParam (ID 1) | PL.CMD |
0x60FE - 1 | Digital outputs (used by Onboard I/O mappings) | No | N/A | N/A | DOUTx.STATE |
Index - subindex | Object Name | Required | Associated ML FB | Associated MC FB | Associated AKD Parameter |
---|---|---|---|---|---|
0x3601:1 | Physical Outputs (used by Onboard I/O mappings) | No | N/A | N/A | DOUT#.STATE |
0x3800:2 | AOUT1.Fieldbus A Fieldbus is an industrial network system for real-time distributed control (e.g. CAN or Profibus). It is a way of connecting instruments in a plant design Value (used by Onboard I/O mappings) | No | N/A | N/A | AOUT#.VALUE |
0x3801:2 | AOUT2.Fieldbus Value (used by Onboard I/O mappings) | No | N/A | N/A | AOUT#.VALUE |
0x6040:0 / 0x6840:0 | CANopen Control Word | Yes | Needed for motion engine axis to work properly | Needed for motion engine axis to work properly: MC_ClearFaults, MC_Power |
|
0x6070A:0 / 0x6870:0 | Target Position Axis 1 / 2 | Yes | Needed for motion engine to work properly; Related to Axis pipe block positions. For more details see About Associated Data on Positions | Needed for motion engine axis to work properly: MC_ReadParam (ID 1) | |
0x60B8:0 / 0x68B8:0 | Touchprobe function Axis 1 / 2 | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger, MC_Reference, MC_MachRegist, MC_MarkRegist, MC_StopRegist |
-
- Axis 1 objects begin with 0x60, Axis 2 objects begin with 0x68.
Index - subindex | Object Name | Required | Associated ML FB | Associated MC FB | Associated AKD Parameter |
---|---|---|---|---|---|
0x20A4 - 0 or 0x2802 - 0 |
Latch control word | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger | CAP0.EN, CAP1.EN, CAP0.MODE, CAP1.MODE |
0x6040 - 0 | CANopen Control Word | Yes | MC_ClearFaults, MC_Power | ||
0x60B2 - 0 or 0x60F6 - 1 |
Additive torque value (Torque Feed Forward) |
No | MLAxisAddTq | N/A 2 | IL.BUSFF |
0x60C1 - 1 or 0x6062 - 0 |
Position demand value | Yes | Related to Axis pipe block positions (for more details, About Associated Data on Positions) | MC_ReadParam (ID 1) | PL.CMD |
0x60FE - 1 | Digital outputs (used by Onboard I/O mappings) | No | N/A | N/A | DOUTx.STATE |
Index - subindex | Object Name | Required | Associated ML FB | Associated MC FB | Associated AKD Parameter |
---|---|---|---|---|---|
0x20A4 - 0 or 0x2802 - 0 |
Latch control word | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger | CAP0.EN, CAP1.EN, CAP0.MODE, CAP1.MODE |
0x6040 - 0 | CANopen Control Word | Yes | MC_ClearFaults, MC_Power | ||
0x60B2 - 0 or 0x60F6 - 1 |
Additive torque value (Torque Feed Forward) |
No | MLAxisAddTq | N/A 3 | IL.BUSFF |
0x60C1 - 1 or 0x6062 - 0 |
Position demand value | Yes | Related to Axis pipe block positions (for more details, About Associated Data on Positions) | MC_ReadParam (ID 1) | PL.CMD |
From Drive to Controller (TxPDO)
Index - subindex | Object Name | Required | Associated ML FB | Associated MC FB | Associated AKD Parameter |
---|---|---|---|---|---|
0x6041 - 0 | CANopen Status Word | Yes | N/A | N/A | N/A |
0x6063 - 0 or 0x6064 - 0 |
Position actual value | No | MLAxisFBackPos, MLAxisReadActPos | MC_ReadActPos | PL.FB |
0x2050 - 0 or 0x35C9 - 0 |
Position actual value 2 | No |
MLAxisRead2ndFB
|
For a Digitizing axis: Secondary feedback can be read by reading the actual position of the axis which is assigned to the secondary feedback. Digitizing axes always use the second feedback for the Drive. KAS does not allow a digitizing axis on a drive which has not a servo axis already assigned |
PL.FB
(if DRV.CMDSOURCE = 1) |
0x606C - 0 | Velocity actual value | No | MLAxisReadVel | MC_ReadActVel | VL.FB |
0x6077 - 0 | Torque Torque is the tendency of a force to rotate an object about an axis. Just as a force is a push or a pull, a torque can be thought of as a twist actual value | No | MLAxisReadTq | MC_ReadParam (ID 1016) | IL.FB |
0x20A5 - 0 or 0x2901 - 0 |
Latch status word | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger | CAPx.STATE |
0x20A6 - 0 or 0x2902 - 0 |
Latch position | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger | CAPx.T (for time) CAPx.PLFB (for position) |
0x60FD - 0 | Digital inputs (used by Onboard I/O mappings) | No | N/A | N/A | DIN.STATES |
0x3470-4 | AIN.VALUE (used by Onboard I/O mappings) | No | N/A | N/A | AIN.VALUE |
0x60F4 | Following error | No | MLAxisReadFEUU | MC_ReadParam (ID 1006) | PL.ERR |
Index - subindex | Object Name | Required | Associated ML FB | Associated MC FB | Associated AKD Parameter |
---|---|---|---|---|---|
0x3780:1 | AIN1.VALUE | No | N/A | N/A | |
0x3781:1 | AIN2.VALUE | No | N/A | N/A | |
0x6041:0 / 0x6841:0 | Statusword - Axis 1 / 2 | Yes | Needed for the servo axis mapped to the drive to work properly | Needed for the servo axis mapped to the drive to work properly | |
0x6064:0 / 0x6864:0 | Position Actual Value - Axis 1 / 2 | Yes | Needed for the servo axis mapped to the drive to work properly | Needed for the servo axis mapped to the drive to work properly | |
0x6077:0 / 0x6877:0 | Torque Actual Value - Axis 1 / 2 | No | MLAxisReadTq | MC_ReadParam (ID 1016) | |
0x60B9:0 / 0x68B9:0 | Touch Probe Status Axis 1 / 2 | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger, MC_Reference. MC_MachRegist, MC_MarkRegist, MC_StopRegist | |
0x60D1:0 / 0x68D1:0 | Touch Probe 1 Time Stamp positive value Axis 1 / 2 | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger, MC_Reference. MC_MachRegist, MC_MarkRegist, MC_StopRegist | |
0x60D4:0 / 0x68D4:0 | Touch Probe 2 Time Stamp positive value Axis 1 / 2 | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger, MC_Reference. MC_MachRegist, MC_MarkRegist, MC_StopRegist | |
0x60E4:3 | 3rd additional position actual Value Axis 1 | No | MLSmpConECAT | For a digitizing axis | |
0x60E4:4 | 4th additional position actual Value Axis 1 | MLSmpConECAT | For a digitizing axis | ||
0x60E4:5 | 5th additional position actual Value Axis 1 | MLSmpConECAT | For a digitizing axis | ||
0x60F4:0 / 0x68F4:0 | Following error actual value Axis 1 / 2 | No | MLAxisReadFEUU | MC_ReadParam (ID 1006) |
-
- Axis 1 objects begin with 0x60, Axis 2 objects begin with 0x68.
Index - subindex | Object Name | Required | Associated ML FB | Associated MC FB | Associated AKD Parameter |
---|---|---|---|---|---|
0x6041 - 0 | CANopen Status Word | Yes | N/A | N/A | N/A |
0x6063 - 0 or 0x6064 - 0 |
Position actual value | No | MLAxisFBackPos, MLAxisReadActPos | MC_ReadActPos | PL.FB |
0x606C - 0 | Velocity actual value | No | MLAxisReadVel | MC_ReadActVel | VL.FB |
0x6077 - 0 | Torque actual value | No | MLAxisReadTq | MC_ReadParam (ID 1016) | IL.FB |
0x20A5 - 0 or 0x2901 - 0 |
Latch status word | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger | CAPx.STATE |
0x20A6 - 0 or 0x2902 - 0 |
Latch position | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger | CAPx.T (for time) CAPx.PLFB (for position) |
0x60FD - 0 | Digital inputs (used by Onboard I/O mappings) | No | N/A | N/A | DIN.STATES |
0x60F4 | Following error | No | MLAxisReadFEUU | MC_ReadParam (ID 1006) | PL.ERR |
Index - subindex | Object Name | Required | Associated ML FB | Associated MC FB | Associated AKD Parameter |
---|---|---|---|---|---|
0x6041 - 0 | CANopen Status Word | Yes | N/A | N/A | N/A |
0x6063 - 0 or 0x6064 - 0 |
Position actual value | No | MLAxisFBackPos, MLAxisReadActPos | MC_ReadActPos | PL.FB |
0x2050 - 0 or 0x35C9 - 0 |
Position actual value 2 | No |
MLAxisRead2ndFB
|
For a Digitizing axis: Secondary feedback can be read by reading the actual position of the axis which is assigned to the secondary feedback. Digitizing axes always use the second feedback for the Drive. KAS does not allow a digitizing axis on a drive which has not a servo axis already assigned |
PL.FB
(if DRV.CMDSOURCE = 1) |
0x6077 - 0 | Torque actual value | No | MLAxisReadTq | MC_ReadParam (ID 1016) | IL.FB |
0x20A5 - 0 or 0x2901 - 0 |
Latch status word | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger | CAPx.STATE |
0x20A6 - 0 or 0x2902 - 0 |
Latch position | No | MLAxisCfgFastIn, MLAxisTimeStamp, all Trigger MLTrig FB | MC_TouchProbe, MC_AbortTrigger | CAPx.T (for time) CAPx.PLFB (for position) |
0x60F4 | Following error | No | MLAxisReadFEUU | MC_ReadParam (ID 1006) | PL.ERR |
Examples
Below are three examples where the PDO object is passed as an argument in the function block.
MLSmpConECAT( PipeNetwork.SMP1, 1001, 16#2050, 0);
Where:
PipeNetwork.SMP1
is a Sampler block ID.1001
is the EtherCAT ***EtherCAT is an open, high-performance Ethernet-based fieldbus system. The development goal of EtherCAT was to apply Ethernet to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs address for the first device16#2050
(0x2050) is the object index and0
is the subindex for the AKD’s “Position actual value 2” object.
MLCNVConnectEx(PipeNetwork.CNV1, PipeNetwork.AXIS1, EC_ADDITIVE_TORQUE_VALUE, 0 ) ;
The argument is a constant based on the object index.
MLSmpConPNAxis(PipeNetwork.SMP1, PipeNetwork.AXIS1, ML_SECOND_FEEDBACK_POSITION);
Where:
ML_SECOND_FEEDBACK_POSITION specifies the secondary actual position from the Pipe Network Axis.
-
- Please note that the ML_SECOND_FEEDBACL_POSITION constant has been deprecated and only AKD devices supported it. It is deprecated because the AKD2G supports more than one secondary feedback.